# -*- coding: utf-8 -*-

"""
@author: 11238 Diogo Silva
@author: 11392 Raul Gonçalo Palma
@last updated: 30/11/2014
@obs: Modulo que contém os métodos necessários para a criação dos gráficos
"""

import matplotlib.pyplot as plt


class Graph:
    """classe que cria e apresenta os gŕaficos correspondentes
    às estatístias"""

    def __init__(self):
        """
        Construtor da class Graph
        """
        pass

    def draw_graph(self, years, values, label_for_graph=""):
        """
        Desenha um gráfico
        :param years: Anos
        :param values: Valores correspondestes ao anos
        :param label_for_graph: Label com a legenda do gráfico
        """
        if label_for_graph == "":
            plt.plot(years, values)
        else:
            plt.plot(years, values, label=label_for_graph)

    def show_graph(self, title, xlabel, ylabel):
        """
        Coloca todas as informações num grápico e mostro-o
        :param title: Título do gráfico que vai ser apresentado
        :param xlabel: Label do eixo das abcissas
        :param ylabel: Label do eixo das ordenadas
        """
        plt.xlabel(xlabel)
        plt.ylabel(ylabel)
        plt.title(title)
        plt.grid(True)
        plt.legend(loc='upper left')
        plt.show()
